﻿using System;
using System.Collections.Generic;
using System.Linq;
using Crosland.Automotriz.Entidad;
using Crosland.Automotriz.Core;
using System.Data.SqlClient;

namespace Crosland.Automotriz.Data.Dao.Linq
{
    public class clsVW_Representante_LegalDAO
    {

        private readonly AutomotrizEntities ContextoDeObjs = new AutomotrizEntities();
        private readonly DM_CROSLAND_20130417Entities ContextoEntidad = new DM_CROSLAND_20130417Entities();

        public IEnumerable<Object> ListarRepresentantes()
        {
            IEnumerable<Object> Lista = new List<Object>();

            var q = from c in ContextoDeObjs.VW_REPRESENTANTE_LEGAL
                    select c;
            Lista = q.ToList();

            return Lista;
        }

        public List<TD_Facturas_Impresion> ListarFacturasImpresion(int anio_operacion, int mes_operacion, int indicador, int anio_facturacion)
        {
                var p = new object[] { 
                new SqlParameter("@ANIO_OPERACION", anio_operacion), 
                new SqlParameter("@MES_OPERACION", mes_operacion),
                new SqlParameter("@INDICADOR",indicador),
                new SqlParameter("@ANIO_FACTURACION",anio_facturacion),
                                     };

                var resultado = ContextoEntidad.ExecuteStoreQuery<TD_Facturas_Impresion>("exec USP_CONSULTAR_IMPRESION_CARTAS @ANIO_OPERACION,@MES_OPERACION,@INDICADOR,@ANIO_FACTURACION", p).AsQueryable().ToList();
                return resultado;

        }

        public List<TD_Facturas_Impresion> ListarFacturasImpresionFEC_IMPRESION(int anio, int mes, int indicador)
        {
            var p = new object[] { 
                new SqlParameter("@ANIO", anio), 
                new SqlParameter("@MES", mes),
                new SqlParameter("@INDICADOR",indicador),
                                     };

            var resultado = ContextoEntidad.ExecuteStoreQuery<TD_Facturas_Impresion>("exec USP_CONSULTAR_IMPRESION_CARTAS_FEC_IMPRESION @ANIO,@MES,@INDICADOR", p).AsQueryable().ToList();
            return resultado;

        }

        public List<TD_FACTURA_CONSULTA> ListarConsultaFactura(int nrofactura)
        {
            var p = new object[] { 
                new SqlParameter("@NRO_FACTURA", nrofactura)};

            var resultado = ContextoEntidad.ExecuteStoreQuery<TD_FACTURA_CONSULTA>("exec USP_CONSULTA_FACTURA @NRO_FACTURA", p).AsQueryable().ToList();
            return resultado;

        }

    }
}
